package com.ByteDance.model.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.RequiredArgsConstructor;
import lombok.Setter;

@Data
@ApiModel(description = "用户信息")
public class User {

    @ApiModelProperty(value = "用户id")
    private int userId;

    @ApiModelProperty(value = "用户名")
    private String username;

    @Setter(onMethod_ = {@JsonProperty("follow_count")})
    @ApiModelProperty(value = "关注总数")
    private long followCount;

    @Setter(onMethod_ = {@JsonProperty("follower_count")})
    @ApiModelProperty(value = "粉丝总数")
    private long followerCount;

    @Setter(onMethod_ = {@JsonProperty("is_follow")})
    @ApiModelProperty(value = "是否已关注")
    private boolean isFollow;

    @ApiModelProperty(value = "头像")
    private String avatar;

    @Setter(onMethod_ = {@JsonProperty("background_image")})
    @ApiModelProperty(value = "用户个人页顶部大图")
    private String backgroundImage;

    @ApiModelProperty(value = "个人简介")
    private String signature;

    @Setter(onMethod_ = {@JsonProperty("total_favorite")})
    @ApiModelProperty(value = "个人获赞总数")
    private Integer totalFavorited;

    @Setter(onMethod_ = {@JsonProperty("work_count")})
    @ApiModelProperty(value = "作品数")
    private Integer workCount;

    @Setter(onMethod_ = {@JsonProperty("favorite_count")})
    @ApiModelProperty(value = "喜欢数")
    private Integer favoriteCount;
}
